MySQL ANY and ALL Operators

ஒற்றை நெடுவரிசை மதிப்பை பல மதிப்புகளுடன் ஒப்பிட கற்றுக்கொள்ளுங்கள்

MySQL ANY மற்றும் ALL ஆபரேட்டர்கள்

ANY மற்றும் ALL ஆபரேட்டர்கள் ஒரு ஒற்றை நெடுவரிசை மதிப்பை மற்ற மதிப்புகளின் வரம்புடன் ஒப்பிட உங்களை அனுமதிக்கின்றன.

ANY ஆபரேட்டர்

துணைக் கோரிக்கை மதிப்புகளில் ஏதேனும் ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்

ALL ஆபரேட்டர்

துணைக் கோரிக்கை மதிப்புகள் அனைத்தும் நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்

ஒப்பீட்டு ஆபரேட்டர்கள்

=, <>, !=, >, >=, <, <= போன்ற ஆபரேட்டர்களுடன் பயன்படுத்தப்படுகிறது

ANY ஆபரேட்டர்

ANY ஆபரேட்டர்:

ANY என்பது வரம்பில் உள்ள மதிப்புகளில் ஏதேனும் ஒன்றுக்கு செயல்பாடு உண்மையாக இருந்தால் நிபந்தனை உண்மையாக இருக்கும் என்பதாகும்.

ANY தொடரியல்

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
  (SELECT column_name
  FROM table_name
  WHERE condition);

💡 குறிப்பு:

ஆபரேட்டர் ஒரு நிலையான ஒப்பீட்டு ஆபரேட்டராக இருக்க வேண்டும் (=, <>, !=, >, >=, <, or <=).

ALL ஆபரேட்டர்

ALL ஆபரேட்டர்:

ALL என்பது வரம்பில் உள்ள அனைத்து மதிப்புகளுக்கும் செயல்பாடு உண்மையாக இருந்தால் மட்டுமே நிபந்தனை உண்மையாக இருக்கும் என்பதாகும்.

SELECT உடன் ALL தொடரியல்

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

WHERE அல்லது HAVING உடன் ALL தொடரியல்

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
  (SELECT column_name
  FROM table_name
  WHERE condition);

💡 குறிப்பு:

ஆபரேட்டர் ஒரு நிலையான ஒப்பீட்டு ஆபரேட்டராக இருக்க வேண்டும் (=, <>, !=, >, >=, <, or <=).

டெமோ தரவுத்தளம்

Northwind மாதிரி தரவுத்தளத்தில் உள்ள "Products" அட்டவணையில் இருந்து ஒரு தேர்வு கீழே உள்ளது:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35
6 Grandma's Boysenberry Spread 3 2 12 - 8 oz jars 25
7 Uncle Bob's Organic Dried Pears 3 7 12 - 1 lb pkgs. 30
8 Northwoods Cranberry Sauce 3 2 12 - 12 oz jars 40
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97

"OrderDetails" அட்டவணையில் இருந்து ஒரு தேர்வு:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40
6 10250 41 10
7 10250 51 35
8 10250 65 15
9 10251 22 6
10 10251 57 15

SQL ANY எடுத்துக்காட்டுகள்

OrderDetails அட்டவணையில் Quantity 10 க்கு சமமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது

பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் Quantity 10 க்கு சமமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது (இது TRUE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் 10 மதிப்புகள் உள்ளன):

ExampleGet your own SQL Server

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

OrderDetails அட்டவணையில் Quantity 99 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது

பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் Quantity 99 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது (இது TRUE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் 99 க்கும் அதிகமான மதிப்புகள் உள்ளன):

Example

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99);

OrderDetails அட்டவணையில் Quantity 1000 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது

பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் Quantity 1000 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது (இது FALSE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் 1000 க்கும் அதிகமான மதிப்புகள் இல்லை):

Example

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000);

SQL ALL எடுத்துக்காட்டுகள்

அனைத்து தயாரிப்பு பெயர்களை பட்டியலிடுகிறது

பின்வரும் SQL கூற்று அனைத்து தயாரிப்பு பெயர்களை பட்டியலிடுகிறது:

Example

SELECT ALL ProductName
FROM Products
WHERE TRUE;

OrderDetails அட்டவணையில் உள்ள அனைத்து பதிவுகளும் Quantity 10 க்கு சமமாக இருந்தால் ProductName பட்டியலிடுகிறது

பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் உள்ள அனைத்து பதிவுகளும் Quantity 10 க்கு சமமாக இருந்தால் ProductName பட்டியலிடுகிறது. இது நிச்சயமாக FALSE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் பல வெவ்வேறு மதிப்புகள் உள்ளன (10 மதிப்பு மட்டும் அல்ல):

Example

SELECT ProductName
FROM Products
WHERE ProductID = ALL
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

பயிற்சி

? பின்வரும் கூற்றுகளில் எது ANY ஆபரேட்டரை சரியாக விவரிக்கிறது? தேர்வு செய்யவும்

இது துணைக் கோரிக்கையில் உள்ள அனைத்து மதிப்புகளும் நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
✗ தவறு! இது ALL ஆபரேட்டரின் விளக்கம். ANY ஆபரேட்டர் துணைக் கோரிக்கையில் உள்ள மதிப்புகளில் ஏதேனும் ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
இது துணைக் கோரிக்கையில் உள்ள மதிப்புகளில் ஏதேனும் ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
✓ சரி! ANY ஆபரேட்டர் துணைக் கோரிக்கையில் உள்ள மதிப்புகளில் குறைந்தது ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
இது துணைக் கோரிக்கையில் உள்ள மதிப்புகளில் எதுவும் நிபந்தனையை பூர்த்தி செய்யாவிட்டால் TRUE திருப்பித் தரும்
✗ தவறு! ANY ஆபரேட்டர் துணைக் கோரிக்கையில் உள்ள மதிப்புகளில் குறைந்தது ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
இது துணைக் கோரிக்கையில் உள்ள மதிப்புகளின் சராசரியை கணக்கிடுகிறது
✗ தவறு! ANY ஆபரேட்டர் கணக்கீடுகளை செய்யாது, இது ஒரு பூலியன் ஒப்பீட்டு ஆபரேட்டர் ஆகும்